﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace IDAL
{
    public interface ICardsDAL
    {
        //////////////////////////////////////////////
        //private int _CD_cardId;

        //private string _CD_cardNumber;

        //private System.DateTime _CD_validDate;

        //private int _CD_cardType;

        //private bool _CD_used;
        /////////////////////////////////////////////

        /// <summary>
        /// 根据传入的cardId判断一条数据是否存在
        /// </summary>       
        bool cardIdExists(int cardId);


        /// <summary>
        /// 根据传入的cardNumber判断一条数据是否存在
        /// </summary>       
        bool cardNumberExists(string cardNumber);


        /// <summary>
        /// 根据传入的cardId判断一条数据是否有效
        /// </summary>       
        bool cardIdValiddate(int cardId);


        /// <summary>
        /// 根据传入的cardNumber判断一条数据是否有效
        /// </summary>       
        bool cardNumberValiddate(string cardNumber);


        /// <summary>
        /// 根据传入的cardId判断一条数据是否已被使用
        /// </summary>       
        bool cardIdUsed(int cardId);


        /// <summary>
        /// 根据传入的cardNumber判断一条数据是否已被使用
        /// </summary>       
        bool cardNumberUsed(string cardNumber);


        /// <summary>
        /// 增加一条数据
        /// </summary>                
        bool Add(int cardId, string cardNumber, System.DateTime validDate, int cardType, bool used);


        /// <summary>
        /// 增加一条数据
        /// </summary>                
        bool Add(Model.Cards card);


        /// <summary>
        /// 更新一条数据
        /// </summary>             
        bool Update(int cardId, string cardNumber, System.DateTime validDate, int cardType, bool used);


        /// <summary>
        /// 更新一条数据
        /// </summary>             
        bool Update(Model.Cards card);


        /// <summary>
        /// 根据传入的cardId删除一条数据
        /// </summary>
        bool albumDelete(int cardId);


        /// <summary>
        /// 根据传入的cardNumber删除一条数据
        /// </summary>
        bool userDelete(string cardNumber);


        /// <summary>
        /// 根据cardId得到一个对象实体
        /// </summary>
        Model.Cards GetModel(int cardId);


        /// <summary>
        /// 根据cardNumber得到一个对象实体
        /// </summary>
        Model.Cards GetModel(string cardNumber);
    }
}
